package com.shuda.business.channel.service;

import com.shuda.business.channel.dto.DistributionSchemeDTO;
import com.shuda.business.channel.dto.DistributionSchemeQueryDTO;
import com.shuda.common.dto.PageDTO;
import com.shuda.common.dto.PageResult;

import java.util.List;

/**
 * 分发方案服务接口
 */
public interface DistributionSchemeService {

    /**
     * 获取分发方案分页列表
     */
    PageResult<DistributionSchemeDTO> getDistributionSchemePage(PageDTO pageDTO, DistributionSchemeQueryDTO queryDTO);

    /**
     * 获取分发方案详情
     */
    DistributionSchemeDTO getDistributionSchemeById(Long id);

    /**
     * 创建分发方案
     */
    Long createDistributionScheme(DistributionSchemeDTO dto);

    /**
     * 更新分发方案
     */
    void updateDistributionScheme(Long id, DistributionSchemeDTO dto);

    /**
     * 删除分发方案
     */
    void deleteDistributionScheme(Long id);

    /**
     * 批量删除分发方案
     */
    void batchDeleteDistributionScheme(List<Long> ids);

    /**
     * 更新分发方案状态
     */
    void updateDistributionSchemeStatus(Long id, String status);

    /**
     * 获取启用的分发方案列表
     */
    List<DistributionSchemeDTO> getEnabledDistributionSchemeList();
}